1. Field of the Invention
This invention relates to the field of digital image interpolation and more specifically relates to improved methods of detecting the type of image being interpolated on a pixel by pixel basis to better select interpolation functions.
2. Description of the Related Art
Images are typically provided at a single size and need to be scaled either up or down for a variety of uses. Image scaling is done in diverse fields such as video production and editing, multimedia content creation, desktop publishing, photography, and photocopying. It is important that the scaled image be a faithful interpretation of the original image. It can not be an exact duplicate because in the process of scaling an image up, interpolating, additional information must be generated, or filled in, to create the enlarged image. Similarly, when scaling an image down, decimating, it is necessary to eliminate some information to create the reduced image.
Interpolation functions are functions that can be used to generate the interpolated, or decimated, images. However, these interpolation functions tend to cause either blurring or aliasing of a digital image that is being interpolated. Aliasing is the creation of jagged edges. In images that are composed primarily of text, computer line graphics and other images with hard edges, it is important to select an interpolation function that preserves the edges and avoids blurring the image. Similarly, in images that are composed primarily of graphics, natural images, scanner input, and other images which lack hard edges, it is important to select an interpolation function that will avoid creating jagged edges and instead tends to blur the image slightly.
Mr. Muyramatsu teaches, in U.S. Pat. No. 5,553,201, that it may be desirable to use a less computationally expensive interpolation function for images being interpolated by a small :scale factors and a more computationally expensive interpolation function for images being interpolated by a large scale factors. A drawback of this approach is that it is not responsive to image type but rather to the amount of scaling being done.
Mr. Tanioka teaches in U.S. Pat. No. 5,018,024, that it may be desirable to compute the number of color transitions in a square block of pixels to select a dithering process for an image. A drawback of this approach is that it is computationally intensive and not capable of responding to localized changes in image type.
Accordingly, what is needed is a method for identifying pixel types for interpolation that is computationally simple and that can be used to select the most appropriate interpolation functions for an image on a pixel by pixel basis.
A method of scaling a source image is described. The source image has a plurality of pixels and the source image is being scaled by a scale factor. One of the pixels in the source image is selected as a target pixel. A type is determined for that target pixel. Based on the type of the target pixel, an interpolation function is selected and the source image is scaled using the selected interpolation function to scale the target pixel.
Determining the type of the target pixel includes examining a neighborhood of pixels surrounding the target pixel and determining whether the target pixel is similar to that neighborhood. If the target pixel is similar to the neighborhood of pixels, the pixel is categorized as an artificial type image. If the pixel is dissimilar to the neighborhood of pixels it is categorized as a natural image type.
An apparatus for scaling an image composed of pixels by a scale factor is described. The apparatus includes a local image analyzer for identifying from among said pixels a target pixel and a set of pixels proximate to said target pixel and determining a type for the target pixel. The apparatus includes a linear interpolation function that is parameterized by a horizontal linear interpolation coefficient and a vertical linear interpolation coefficient. The apparatus includes an interpolation coefficient generator for defining the horizontal and vertical linear interpolation coefficients. The apparatus includes an image scaler for scaling said image in a neighborhood of the target pixel by the scale factor using the linear interpolation function with the horizontal linear interpolation coefficient and the vertical linear interpolation coefficient.